#include<iostream>
#include<stack>
#include<string>
#include<cstring>
#include<iomanip>
#include<cstdlib>
#include<stdio.h>
using namespace std;

#define opsetsize 7
typedef int Status;

char Prior[7][7] = {   //运算符号的优先级表
        '>', '>', '<', '<', '<', '>', '>',
        '>', '>', '<', '<', '<', '>', '>',
        '>', '>', '>', '>', '<', '>', '>',
        '>', '>', '>', '>', '<', '>', '>',
        '<', '<', '<', '<', '<', '=', ' ',
        '>', '>', '>', '>', ' ', '>', '>',
        '<', '<', '<', '<', '<', ' ', ' '
};

float Operate(float a, unsigned char theta, float b) {

    if (theta == '+') {
        return a + b;
    } else if (theta == '-') {
        return a - b;
    } else if (theta == '*') {
        return a * b;
    } else if (theta == '/') {
        return a / b;
    }
}

char opset[opsetsize] = {'+', '-', '*', '/', '(', ')', '#'};

Status in(char Test, char *Testop) {
    for (int j = 0; j < opsetsize; j++) {
        if (Test == Testop[j])
            return 1;
    }
    return 0;
}

char precede(char Aop, char Bop) {
    int i;
    for (i = 0; i < opsetsize; i++)
        if (opset[i] == Aop)
            break;
    int j;
    for (j = 0; j < opsetsize; j++)
        if (opset[j] == Bop)
            break;
    return Prior[i][j];
}

float EvaluateExpression(string Myexp) {
    stack<char> Optr;
    stack<double> Opnd;
    char Tempdata[20];
    double data, a, b, r;
    char theta, dr[2];
    char c;
    int i = 0;

    Optr.push('#');
    c = Myexp[0];

    strcpy(Tempdata, "\0");
    while (c != '#' || Optr.top() != '#') {
        if (!in(c, opset) || (i == 0 && c == '-') || (Myexp[i - 1] == '(' && c == '-')) {
            dr[0] = c;
            dr[1] = '\0';
            strcat(Tempdata, dr);
            c = Myexp[++i];
            if (in(c, opset)) {
                data = (float) atof(Tempdata);
                Opnd.push(data);
                strcpy(Tempdata, "\0");
            }
        } else {
            switch (precede(Optr.top(), c)) {
                case '<':
                    Optr.push(c);
                    c = Myexp[++i];
                    break;
                case '=':
                    Optr.pop();
                    c = Myexp[++i];
                    break;
                case '>':
                    double b = Opnd.top();
                    Opnd.pop();
                    double a = Opnd.top();
                    Opnd.pop();
                    theta = Optr.top();
                    Optr.pop();
                    Opnd.push(Operate(a, theta, b));
                    break;
            }
        }
    }
    return Opnd.top();
}

int main() {

    string exp;
    int t;
    double result;
    cin >> t;
    while (t--) {
        cin >> exp;
        result = EvaluateExpression(exp + "#");

        cout << fixed << setprecision(4) << result << endl;
    }
    return 0;
}